The present invention relates to the field of information exchange and retrieval in an enterprise computer network having a plurality of heterogenous software systems and a plurality of clients communicating with one another. More particularly, the present invention relates to the integration of a midware into the enterprise computer network for interfacing clients represented by a plurality of subclients with the software systems.
In today""s economy companies are frequently turning to software solutions to help integrate and streamline business processes and lower overall operational costs. For example, a typical business may include a variety of organizations such as accounting, purchasing, sales, warehousing, human resources, etc. The specialized needs of each organization leads to each organization using their own software system designed to handle the functions and tasks to be performed. For example, accounting may utilize a special financial software system which allows for convenient entry of a company""s assets and liabilities while sales may utilize a different software system which allows for easy order entry and tracking.
Although each organization performs different functions it is, of course, necessary that the organizations exchange and retrieve information with one another on a timely basis. For instance, once sales has received a signed purchase agreement from a customer indicating that the customer has committed to purchasing a given number of products, the sales department must immediately inform the accounting department of the transaction such that the transaction may properly be logged in the accounting records. To communicate this information it is possible for an individual in the sales department to send a paper or electronic form to the accounting department indicating the transaction which has taken place. Unfortunately, such procedures are often cumbersome and result in errors. For such reasons, enterprise wide software management systems have been developed.
Enterprise wide software management systems integrate both heterogenous and homogeneous software systems such that information may be exchanged, retrieved and updated among many systems and clients in real time. For instance, in the example above, an enterprise wide software management system would provide the appropriate connectivity to allow the accounting records to be automatically updated upon an individual from the sales department entering information related to the new purchase order. Thus, there is no need for the sales department to track and forward this information consciously to the other appropriate organizations in the company thereby minimizing overhead and reducing the possibility of introducing errors into the information to be shared.
In order to provide the necessary connectivity among different software systems and other clients in a particular business or corporation, specialized consultants or other information services individuals are often contracted by the business entity to configure a given enterprise wide software management system to meet the precise needs of the company. Configuring an enterprise wide software management system to a particular companies needs may often take several months to several years to complete depending on the size of the project at hand.
As companies and businesses continue to grow and expand, a recent trend has been to integrate wireless communications into a company""s network infrastructure to help further optimize operations. For instance, wireless communication devices may take the form of wireless bar code readers which are used in a company""s warehouse to help track inventory, wireless pen computing devices which may be used by individuals on a manufacturing floor to log problems or request replacement parts, and wireless arm mounted terminals which may be used by warehouse pickers to receive orders for replacement parts in real time so that the order may be filled immediately. As the price of these and other wireless computing devices continues to drop, the use of such devices by a company to increase productivity and efficiency continues to grow.
In companies having an enterprise wide software management system it is desirous to integrate wireless computing devices into to the enterprise wide system in order to utilize the wireless computing devices to their maximum potential. For instance, prior to the introduction of wireless computing devices into a company""s manufacturing facility, an enterprise wide software management system may have been configured to send all requests for replacement parts to a central computer near a company""s stockroom of replacement parts. Pickers who physically fill the requests would periodically check and retrieve new orders from the computer system or inform the requester if parts were currently unavailable. Upon providing each picker with a wireless arm mounted terminals, however, it would be desirous for replacement part requests to be routed directly to the appropriate picker""s wireless terminal by the enterprise wide software management system. Further, it would be desirous for the picker to be able to respond directly back to the enterprise wide software management system as to whether the order has been filled or if the parts were unavailable and to automatically update the appropriate software systems in the company of the picker""s transactions.
While it may be possible to reconfigure the enterprise wide software management system to provide the appropriate connectivity between each wireless terminal and the other software systems in a company, such reconfiguration would be extremely costly and time consuming. For instance, during reconfiguration, the enterprise wide software management system may need to be taken off line for several days or months so that the system can be updated with appropriate routing commands for each new wireless terminal. Further, such difficulties of updating and reconfiguring the enterprise wide software management system would occur each time additional wired and/or wireless terminals was to be fully integrated into the company""s network infrastructure.
Therefore, what is needed is a method and apparatus of integrating wired and wireless devices into an existing computer network running an enterprise wide software management system which overcomes the difficulties described above and others.
The present invention provides a method and apparatus for integrating one or more clients represented by a plurality of subclients into an existing enterprise wide software management system. Each subclient may take the form of wireless mobile terminals or other devices which may be introduced and removed from the enterprise computer network on a regular basis. Integration of the subclients into the enterprise wide software management system is accomplished by way of midware which serves to provide appropriate transformation and routing of communication between the subclients and one or more software systems within the enterprise wide software management system. Thus, the midware allows the enterprise wide software management system may communicate with the subclients without being reconfigured to communicate specifically with each individual subclient.
The midware is configured to appropriately transform, manipulate, and route communications originating from one or more software systems to one or more subclients. Further, the midware is configured to appropriately transform, manipulate, and route communications originating from one or more subclients to one or more software systems. In transforming communications from a data structure of a receiving device to a data structure of a destination device, the midware is also configured to actively obtain any incomplete or deficient information. For example, the midware may query additional devices for such information or, if available, provide the information from the midware""s own internal tables.
In order to determine the appropriate routing protocol for a given communication, the midware maintains a set of tables. The tables define for the midware the appropriate action which needs to be taken to respond to a particular task. Further, the tables keep track of which subclients are currently available to perform each task/subtask. Availability of a subclient is determined based on whether the subclient is currently registered with the midware. If more than one subclient is available, the tables further include a priority scheme to determine which of the available subclients should be selected to perform the task at hand.
With respect to communications originating from the software systems, the operations performed by the midware typically takes one or two forms. The first type of operation is one in which the midware forwards a communication to a particular client. For example, if the midware receives communication from a software system directed to a first client, the midware tables may indicate to the midware that first client is represented by first and second subclients and that half of the communication should be forwarded to the first subclient and the other half of the communication should be forwarded to the second subclient. Prior to routing such information, the midware would also reconfigure the communications to an appropriate data structure for the first and second subclients. The second type of operation performed by the midware involves a situation where the midware is to provide a response to a communication it received on behalf of a client represented by the midware. As the client is actually represented by subclients, the midware forwards the appropriate instructions to one or more subclients, waits for a response from each of the subclients, performs other appropriate operations to provide information in a particular format, and then forwards a single collective response to one or more assigned destination devices. For instance, the midware may determine that a particular task received by the midware should be routed to three subclient following which the midware should obtain a response from each of the subclients and forward a collective response to the originating software system and one other software system. In the event one or more of the subclients do not respond to a request for information, the midware is further configured to query the non-responding subclients for the desired information. In responding to a request it is also possible that the midware obtains certain response data from other sources. For example, if the current time and date was to be included in a response, such information may be provided by the midware itself.
With respect to communications originating from the subclients, the types of operations performed by the midware also typically takes one or two forms. The first type of operation is one in which the midware transforms the communication to an appropriate data structure and forwards a subclient""s communication without the need to retrieve additional information. For instance, the subclient""s task may involve forwarding the information provided in its entirety to two different software systems. The second type of operation is one in which prior to forwarding the subclient""s communication, the midware needs to retrieve additional information. For instance, the subclient""s task may enlist the midware to query two other subclients for information which is then collectively routed to one or more software systems.
In addition to routing communications, the midware is also configured to track certain predefined transactions carried on by subclients and generate reports based on the transactions which have taken place. More particularly, during the routing of communications through the midware, the midware continually monitors for the predefined transactions and, if found, automatically updates an appropriate table with such information such that a report of all such transactions may ultimately be recovered.
The midware may also be configured to serve as the primary processing power and memory for one or more subclients. More particularly, in order to allow for xe2x80x9cthinxe2x80x9d mobile devices, the midware may perform a large portion of the processing tasks for a given mobile device and transmit communications to the mobile devices which allow the mobile devices to display the results. For instance, the midware may include a bar code parse circuit which parses decoded bar code data forwarded by a mobile device. Thus, mobile devices having bar code readers would not need to include the additional barcode parse circuitry within the device itself. By shifting these and other conventional processing tasks to the midware, the mobile device may be designed in a more cost effective manner.
According to one aspect of the present invention, a midware server for use in an enterprise computer network having an enterprise management system and a plurality of clients communicatively coupled to the enterprise management system is provided. The midware server includes a network interface for communicatively coupling the enterprise management system to at least one of the plurality of clients functionally represented by a plurality of subclients, and a task processing circuitry for converting at least a portion of communications received according to a first data structure compatible with one of the enterprise management system and a first of the plurality of subclients to a second data structure different than the first data structure compatible with the other of the enterprise management system and the first of the plurality of subclients.
According to another aspect of the present invention a midware server for use in an enterprise computer network is provided. The enterprise computer network includes an enterprise management system for communicating with a plurality of clients within an enterprise network. The midware server includes a first communication means operatively coupling the midware server to the enterprise management system; a second communication means operatively coupling the midware server to at least one client of the plurality of clients, the at least one client functionally being represented by a plurality of subclients coupled to the midware server via the second communication means, and means for mapping, according to a predefined criteria, all or part of a communication received from the enterprise management system and directed to the at least one client to at least one of the plurality of subclients functionally representing the at least one client.
According to another aspect of the present invention, a midware server for use in an enterprise computer network is provided. The enterprise computer network includes an enterprise management system for communicating with a plurality of clients within an enterprise network. The midware server includes a first communication means operatively coupling the midware server to the enterprise management system; a second communication means operatively coupling the midware server to at least one client of the plurality of clients, each of the at least one client comprising a plurality of subclients functionally representing the respective at least one client, and means for mapping, according to a predefined criteria, all or part of individual communications received from at least one of the plurality of subclients to the enterprise management system.
According to still another aspect of the present invention, a midware server for use in an enterprise computer network is provided. The enterprise computer network includes an enterprise management system for communicating with a plurality of clients within an enterprise network. The midware server includes a first communication means operatively coupling the midware server to the enterprise management system; a second communication means operatively coupling the midware server to at least one client of the plurality of clients, the at least one client functionally being represented by a plurality of subclients coupled to the midware server via the second communication means, and means for mapping, according to a predefined criteria, all or part of a task command received from the enterprise management system and directed to the at least one client as subtasks to at least one of the plurality of subclients functionally representing the at least one client, the task command representing a task to be carried out by the at least one client and the subtasks representing at least part of the task.
According to yet another aspect of the present invention a mobile terminal for use in an enterprise computer network having a midware for communicatively interfacing an enterprise management system with one or more clients each represented by a plurality of subclients is provided. The mobile terminal includes a portable housing, a processor disposed in the housing, and means for transmitting and receiving wireless communications coupled to the processor, wherein the mobile terminal registers with the midware server in order to transmit and receive communication with the enterprise management system.
According to still yet another aspect of the present invention an enterprise network having an enterprise management system and a plurality of subclients representing one or more clients communicating with the enterprise management system through a midware is provided. A method includes the steps of receiving communications at the midware from one of the enterprise management system and a first of the plurality of subclients, converting at least a portion of the communications received into a data structure compatible with the other of the enterprise management system and the first of the plurality of subclients, and transmitting the at least a portion of the communications to the other of the enterprise management system and the first of the plurality of subclients according to the data structure.
According to still yet another aspect of the present invention In an enterprise network having an enterprise management system and a plurality of subclients representing a client communicating with the enterprise management system through a midware is provided. A method includes the steps of transmitting by the enterprise network communication destined for the client, receiving the communication by the midware, converting at least a portion of the communication to a first format compatible with a first of the plurality of subclients and another portion of the communication to a second format compatible with a second of the plurality of subclients, and transmitting the at least a portion of the communication to the first of the plurality of subclients in the first format and the at least another portion of the communication to the second of the plurality of subclients in the second format.
To the accomplishment of the foregoing and related ends, the invention then, comprises the features hereinafter fully described and particularly pointed out in the claims. The following description and the annexed drawings set forth in detail certain illustrative embodiments of the invention. These embodiments are indicative, however, of but a few of the various ways in which the principles of the invention may be employed. Other objects, advantages and novel features of the invention will become apparent from the following detailed description of the invention when considered in conjunction with the drawings.